System and method for enabling dtmf detection in a voip network

ABSTRACT

A method, mobile terminal, and system for selectively establishing an outgoing caller ID on a mobile terminal served by a wireless network, for identifying a line called on a mobile terminal, and for directing a call from a mobile terminal to a network subscriber based on accessed information of the subscriber in the subscriber&#39;s network.

PRIORITY CLAIM

This application is a continuation of U.S. Ser. No. 11/509,372, entitled “SYSTEM AND METHOD FOR ENABLING DTMF DETECTION IN A VOIP NETWORK” filed Aug. 24, 2006, which in turn claims priority of U.S. Provisional Ser. No. 60/778,252, entitled “MOBILE APPLICATION GATEWAY FOR CONNECTING DEVICES ON A CELLULAR NETWORK WITH INDIVIDUAL ENTERPRISE AND DATA NETWORKS” filed Mar. 2, 2006; U.S. Provisional Ser. No. 60/778,276, entitled “CALL FLOW SYSTEM AND METHOD USE IN LEGACY TELECOMMUNICATION SYSTEM” filed Mar. 2, 2006; U.S. Provisional Ser. No. 60/778,443, entitled “CALL FLOW SYSTEM AND METHOD USE IN VOIP TELECOMMUNICATION SYSTEM” filed Mar. 2, 2006; and U.S. Provisional Ser. No. 60/797,724, entitled “SYSTEM AND METHOD FOR EXECUTING ORIGINATING SERVICES IN A TERMINATING NETWORK FOR IMS AND NON-IMS APPLICATIONS” filed May 4, 2006 incorporated herein by reference.

CROSS REFERENCE TO RELATED APPLICATIONS

Cross reference is made to the following commonly assigned U.S. patent applications filed herewith: U.S. Ser. No. 11/509,222, entitled “MOBILE APPLICATION GATEWAY FOR CONNECTING DEVICES ON A CELLULAR NETWORK WITH INDIVIDUAL ENTERPRISE AND DATA NETWORKS”; U.S. Ser. No. 11/509,186, entitled “CALL FLOW SYSTEM AND METHOD USE IN LEGACY TELECOMMUNICATION SYSTEM”; U.S. Ser. No. 11/509,260, entitled “CALL FLOW SYSTEM AND METHOD USE IN VOIP TELECOMMUNICATION SYSTEM”; U.S. Ser. No. 11/509,200, entitled “SYSTEM AND METHOD FOR EXECUTING ORIGINATING SERVICES IN A TERMINATING NETWORK FOR IMS AND NON-IMS APPLICATIONS”; and U.S. Ser. No. 11/509,450, entitled “SYSTEM AND METHOD FOR ENABLING MULTI-LINE MOBILE TELEPHONE SERVICE CAPABILITIES ON A SINGLE-LINE MOBILE TELEPHONE”.

FIELD OF THE INVENTION

The present invention relates to telecommunications, and more particularly telecommunications including enterprise servers, wireless communications, and the interoperability of communication technologies.

BACKGROUND OF THE INVENTION

Corporations are increasingly relying on the use of cellular technology by their employees. Yet enterprises do not have adequate means to control cellular service, in terms of costs, Quality of Service, and corporate monitoring. This is because cellular service is independently managed and controlled by wireless carrier networks with no connectivity to the enterprise voice and data networks, as shown in FIG. 1.

Enterprises today control their enterprise fixed voice and data networks, as is shown on the left of the diagram. They own and manage their own PBXs, within each branch, and between branch offices. They also own and manage their own data networks and corporate LAN/WAN. They purchase bulk voice minutes and data capacity from land line carriers, or from other providers that have purchased bulk minutes and data capacity from carriers, to connect branch offices, using public IP Network providers (e.g. MCI, Sprint, L3, etc.) for Data and Voice over IP (VoIP).

With this invention, the enterprise is able to equally extend this paradigm to cellular service by connecting the public wireless voice and data network (on the right side of the diagram) into the enterprise. This is shown in FIG. 2. The gateway server inter-connects the carrier's Mobile Switching Center (MSC) that manages cellular voice traffic as well as the carrier's Serving GPRS Support Node (SGSN) that manage cellular data traffic, with the enterprise's voice and data network.

SUMMARY OF INVENTION

The invention achieves technical advantages as a method, mobile terminal, and system for selectively establishing an outgoing caller ID on a mobile terminal served by a wireless network, for identifying a line called on a mobile terminal, and for directing a call from a mobile terminal to a network subscriber based on accessed information of the subscriber in the subscriber's network.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an independently managed and controlled wireless carrier network, and an independently managed corporate enterprise network;

FIG. 2 is a diagram of a conventional network with an enterprise network gateway server, according to the invention, connected to a wireless carrier network;

FIG. 3 is a diagram of a gateway server system accordingly to one preferred embodiment of the present invention;

FIG. 4A is a diagram of an enterprise data and voice network operably connected using the gateway server system using pure enterprise call control according to one preferred embodiment;

FIG. 4B is a diagram of an enterprise data and voice network operably connected using the gateway server system using split call control according to one preferred embodiment;

FIG. 5 depicts a network architecture according to another preferred embodiment using VoIP systems;

FIG. 6 is a call flow diagram for call origination according to one embodiment of the present invention;

FIG. 7 is a call flow diagram for effecting call delivery using VoIP system according to another preferred embodiment of the present invention;

FIG. 8 is a call flow diagram for effecting mobile termination using VoIP according to another preferred embodiment of the present invention;

FIG. 9 is a diagram of a network architecture for a Legacy (TDM) network according to another preferred embodiment of the present invention;

FIG. 10 is a diagram of a next generation IMS architecture that is backwards compatible with legacy cellular networks based on existing cellular protocols;

FIG. 11 is a diagram of a conventional legacy network architecture that does not support IM;

FIG. 12 depicts a Packet Engine according to another preferred embodiment of the present invention allowing a call server to detect DTMF digit events on the call path;

FIG. 13 depicts one embodiment of the Packet Engine consisting of a user space;

FIG. 14 depicts a Linux kernel module of the Packet Engine;

FIG. 15 depicts the current IMS standard definition;

FIG. 16 depicts one exemplary embodiment of the invention for IMS service;

FIG. 17 and FIG. 18 depict a gateway server carrier (GS-C) configured as an IMS standard-compliant SIP, and associated algorithm; and

FIG. 19 depicts an algorithm for receiving incoming calls on various lines that are to be directed to a subscribers mobile phone.

DETAILED DESCRIPTION OF THE PRESENT INVENTION

Effectively in one preferred embodiment of the invention, a gateway mobile server is provided that runs a turnkey cellular system that does not include any radio network components. The gateway mobile server is appropriately scaled down to the smaller subscriber base of a large enterprise, compared with that of a public carrier. The gateway mobile server advantageously supports call routing between a legacy, hybrid or IP-PBX, and the public cellular network in support of the enterprise/virtual operator business model.

This solution ultimately enables enterprises to change the way they purchase cellular service from cellular operators by enabling enterprises to effectively become a Mobile Virtual Network Operator (MVNO) for their own employees, and ultimately even sell cellular service external to the enterprises corporation. Thus, the enterprise is able to purchase discount bulk rate cellular minutes of use from a public cellular carrier, and “resell” them internally to their cost centers, or externally to other entities. The solution effectively enables the enterprise to “plug-in” cellular service akin to how local and long distance are connected to the enterprise's PBX. The result is that enterprises can consume minutes of use from public cellular carriers and pay for those minutes at the end of a time period, for example at the end of the month. A single relationship can exist between the cellular carrier and the enterprise, rather than multiple individual subscriptions between the carrier and enterprise employees (where the carrier is forced to treat them as ordinary consumers). This embodiment of the invention also facilitates the situation in which a single service provider can provide local, long distance, cellular and internet service to an enterprise. Ultimately the enterprise can become its own service provider with its own Home Location Register (HLR) and Home Subscriber Server (HSS) operating on and interconnected with the public networks. Thus, employees making/receiving voice calls and data sessions can be roaming on cellular carrier networks, which will charge the enterprise based on their usage.

The voice gateway component in this embodiment of the invention comprises a hybrid gateway router, combining the traditional routing functionalities of a Wireless Gateway Mobile Switching Center (GMSC) with the admission control and routing functionalities of an IMS SIP Application Server proxy and/or H.323 gatekeeper in addition to functionality for call management and control in the enterprise space based on SIP and/or H.323.

All signaling is transported over IP instead of SS7 where possible using protocols, such as SIGTRAN. In cases where IP signaling is not available, SS7 may be required to connect with the public cellular and carrier networks. In addition, the invention supports functionality not traditionally associated with a Wireless GMSC. This includes support for 3GPP/2 SIP and/or H.323.

The present invention provides support for 3GPP/2 SIP, GSM MAP, CAP, ANSI-41/WIN and AIN protocols, converts between them and maps to individual SIP network elements in the enterprise network. Support for signaling is via SIGTRAN with high reliability over IP connections instead of traditional and expensive SS7 links.

Various embodiments of the invention provide technical advantages including:

Interconnection algorithms between carrier network telecom protocols and specific enterprise PBX services platforms, including enhancements to standard cellular network nodes including GMSC, SCP, GGSN:

-   -   Nodal inter-connection algorithms     -   Various configurations         -   Enterprise-hosted, Enterprise Managed:         -   The solution is hosted entirely within the enterprise and             controlled by the enterprise         -   Enterprise-hosted, Shared Management:         -   The solution is hosted entirely within the enterprise and             controlled by both the enterprise and remotely by the             carrier         -   Enterprise hosted, Carrier Managed:         -   The solution is hosted entirely within the enterprise and             controlled remotely by the carrier         -   Carrier-hosted, Enterprise Managed:         -   The solution is hosted at the carrier site and controlled             remotely by the enterprise         -   Carrier-hosted, Shared Management:         -   The solution is hosted at the carrier and controlled by both             the enterprise and remotely by the carrier         -   Carrier-hosted, Carrier Managed:         -   The solution is hosted at the carrier site and controlled by             the carrier         -   Shared-hosted, Shared Management:         -   A component of the solution is hosted, managed and             controlled at the carrier site, and a component of the             solution is hosted, managed and controlled at the enterprise             site.

Routing of dialed digits from carrier network to enterprise system without modifying carrier software, using existing intelligent network and/or IMS signaling and data messaging techniques.

Method for reducing/eliminating of PSTN interconnect charges between carrier and enterprise, enabling:

-   -   Low cost mobile-to-mobile calls even when served by different         carriers         -   This may be achieved by routing the calls from the carrier             network into the enterprise using VoIP technology, and thus             bypassing the PSTN network     -   Low cost mobile to IP voice client calls (mobile to PC client,         Skype, etc.)

Methods for increasing enterprise-grade availability via a cellular interconnection gateway:

-   -   Methods for maintaining enterprise call handling capabilities         when individual enterprise network nodes fail         -   For example, when a call is originated from the cellular             network and its control messages are sent to the gateway             server for processing, if the gateway server detects that             the PBX system is not available or out of service, the             gateway server can instruct the cellular network to route             the call directly. The gateway server may modify the digits             if necessary. The cost of the call may be higher than if             routed through the PBX, however the call will nevertheless             be connected. Once the PBX becomes available, the gateway             server can direct subsequent calls through the enterprise             network.

Enterprise MVNO Business framework

-   -   Enabling large enterprises to become cellular service providers         for their employees     -   Spinoff business opportunities for sale of cellular voice/data         services PBX evolution for wireless interconnection.

MVNO Infrastructure

-   -   Framework, methodology and mechanisms for increasing MVNO         value-chain service capabilities     -   Framework to enable MVNOs to support own core network switching         and services through an existing carrier's wireless access         infrastructure.

Integrated Services Capabilities Framework

-   -   Enabling improved integration and customization of enterprise         applications on public carrier networks

Framework enables the migration of business solutions to customized enterprise environment, away from generic carrier offerings using enterprise information systems not available to carrier networks, e.g.

-   -   Local Presence & Availability information     -   Enterprise badging and security systems         -   For example, with the call control managed out of the             enterprise rather than the cellular network, the enterprise             can connect disparate systems to enforce policy controls             such as disabling an employee's cellular phone when they             badge out of the office for the evening, or changing the             charging codes such that the employee will be charged for             calls made after they have badged out of the office for the             evening, or limiting the employee to 250 minutes of personal             phone calls after badging out for the evening, or             restricting international calling, or enabling international             calling to a single country such as the country of one's             family, etc.

Intelligent Least cost routing techniques

-   -   Algorithms for enabling intelligent Tail-end Hop-off of calls         and data sessions within the enterprise's network         -   Including methodology for inter-office (e.g. international)             call routing when local PBX is out of service         -   Tail-end hop-off enables a call from one country to another             country to be routed over a least-cost network to a             connection point in the destination country, from which a             local call is established and connected with the             international least-cost route. The result is a lower-cost             call to the destination.

Data session management

-   -   Similar to the ability to route voice calls into the enterprise         which are then subject to enterprise voice policy, the invention         describes the methodology and support for the routing of data         sessions from the public network directly into the enterprise.         By including a GGSN function within the enterprise and connected         with the cellular carrier's SGSN, a secure tunnel can be         established between the carrier and the enterprise networks. The         GGSN component can be split among two components of the Gateway         Server: One component located in the carrier network (within the         GS-C), and a second component located in the enterprise (within         the GS-E). Similarly this can be achieved with a Home Agent         function located within the enterprise and connected with the         carrier's Foreign Agent for CDMA networks. As such, the         invention:         -   Eliminates the need for VPN software to be launched on the             mobile device         -   Subjects the mobile device to enterprise data policy             including security and firewalls no matter where the device             is located, and without the need for user interaction—all             data sessions are routed through the enterprise's corporate             network and firewalls         -   Enables software applications to be embedded in wireless             devices that can be launched remotely to, for example,             destroy data on the device should the unit be lost or             stolen—e.g. Poison Pills

The present invention in one embodiment includes a software/server system that advantageously provides a cost effective and transparent means to connect enterprise employees' cellular phones to their corporation's PBX. The solution provides corporations with the ability to achieve, with regular single-mode mobile phones used by employees without requiring any special dialing sequences, the same PBX based benefits now provided for fixed office landline phones. The solution creates a multi-dimensional paradigm shift in the enterprise telecommunications market that is expected to change the way enterprises purchase and integrate cellular service with their PBX as well as the way carriers compete for all phone services to the enterprise.

The solution provides a unique product and business concept that is highly strategic for enterprise customers and channel distribution partners. Mobile operators have the opportunity to benefit from enterprises' need for operational control, efficiency and flexibility. The solution drives competitive advantage, higher market share and increased revenues for network operators by extending the cellular network and its call control into the enterprise.

One implication of moving the call control into the enterprise is that the invention enables the enterprise to control their communications—enabling the enterprise to track, monitor and even record voice conversations that occur on public carrier networks. The enterprise will be able to enforce policy-based call routing for employees making and receiving calls on public cellular networks. This means they can allow/prevent calls based on specific criteria such as destinations, time of day, external stimuli (e.g. active employee badge), other circumstances. As a result, corporations submitting to control-procedure legislations such as Sarbanes-Oxley will now have the ability to manage and control cellular communications in line with their landline (PBX) and data networks (e.g. e-mail traffic).

The gateway server transparently extends the cellular network directly to the PBX in the enterprise, ultimately enabling the enterprise to equally ‘plug’ cellular service into their PBX from a choice of providers, alongside their local and long distance landline service. In the enterprise, the server according to one aspect of the present invention is a mobility gateway that enables the enterprise to manage its own cellular services and costs as well as to deploy customized mobility solutions to bridge their internal business applications and processes with mobile devices. The architecture addresses the extension of the PBX control over both cellular voice and data systems, in addition to the current PBX control over land line voice. The approach of the present invention is a networking solution versus a device-centric solution, and does not require the enterprise to deploy and manage complex RF (radio frequency) components or purchase specialized mobile devices.

For the enterprise, the solution enables them to manage and control their cellular services & costs by routing all employees' cellular voice and data calls through their corporate PBX network, while simultaneously enabling them to deploy customized and secure mobility solutions integrated with their internal IT systems. For the mobile operator, the solution enables them to capture market share, grow revenues, reduce operational expenses and reduce churn in the highly profitable enterprise segment.

Referring now to FIG. 3, there is shown a gateway server at 10 according to one preferred embodiment of the invention.

The gateway server:

-   -   Enables the enterprise to manage and control its cellular         service.     -   Enables the enterprise to achieve significant overall cost         reductions for telecommunications.     -   Includes an overall platform and architecture for improved and         integrated wireless enterprise solutions.     -   Drives convergence between the enterprise's cellular and Voice         over IP (Internet Protocol) infrastructure.

The gateway server 10 leverages the benefits of Voice over IP with cellular to extend the cellular network into the enterprise. The gateway server 10 addresses both cellular voice and data, and is a networking solution that works together with the enterprise's existing PBX, performing mobile call control functions (routing and services).

Additionally, the gateway server 10:

-   -   Bridges the enterprise PBX and public cellular environments to         enable telecom applications for the cellular user, such as         short-code dialing (e.g. 4 and 5-digit dialing), one number         service (one phone number for the desktop and cellular phone),         single voice mail box.     -   Enables the enterprise to leverage their existing telecom assets         for cellular use (e.g., least-cost routing over corporation's         VoIP or leased-lines network for discounted long distance; use         of existing PBX voicemail system).     -   Is an application platform for deploying mobile IT applications.         Either the enterprise IT department or a Systems Integrator can         develop and integrate specific applications to interface with         the corporation's cellular devices.         -   For example, the enterprise can choose to replace the             deskphone of an office employee with an inexpensive mobile             phone. For this employee, when they ‘badge-out’ of the             building at the end of the day, the enterprise security             badging system can be used to inform the gateway server to             de-activate the mobile phone, until the employee returns to             the office and ‘badges-in’ the next morning. Alternatively,             the gateway server can track and record the calls made             outside the office hours, and enable the enterprise to             charge them to the business, to the employee, or record them             as a corporate benefit.     -   Provides a single control point for the IT organization to         monitor and control cellular usage and services—all cellular         calls can be tracked and recorded in the enterprise's PBX         system.

The gateway server may be software-only solution that can execute on standard, inexpensive Linux platforms. The gateway server may consist of a mobile core network (for call handling and routing) and services network (voice and data services such as PBX-based short code dialing, voicemail, conference calling, VPN, etc.) components. It may be appropriately scaled down to the smaller subscriber base of a decentralized large enterprise, in the order of hundreds to several thousand subscribers, compared with carrier systems that manage many millions of “centralized” subscribers. The gateway server is designed to be managed and maintained by the same IT group that currently manages the enterprise's PBX system.

The gateway server in some aspects is a cellular system which does not require or include any radio frequency network components—which are highly complicated and expensive to deploy and manage. Campus radio networks, whether cellular, Wi-Fi or other, require highly skilled and dedicated resources to maintain and ensure network stability for the enterprise's critical voice and data communications, while simultaneously managing their spatial co-existence with live public carrier radio networks overlapping the enterprise campus.

Instead, the invention includes a method for combining the technology for enabling enterprises to integrate its call control and services with a proven business model (MVNOs) that further enables the enterprise to negotiate with carriers for a reasonable discounted price to use the carrier's professional nationwide cellular network. To the carrier, this maintains large numbers of high-value enterprise customers locked in on their networks, while reducing their costs of acquiring and maintaining individual subscribers.

One network architecture implementing an aspect of the present invention is shown in FIG. 4. From an IT organization perspective, the gateway server 10 appears as an extension to the PBX. To the cellular network, the gateway server 10 appears as a standard in-network endpoint for delivering calls. To the enterprise PBX, the gateway server 10 appears as a set of standard PBX endpoints (e.g. deskphones, or IP clients). The gateway server 10 mediates between the two disparate sets of network protocols and state machines.

The gateway server 10 includes the network functions for both voice (gateway MSC) and data (gateway GPRS Support Node or Home Agent), VoIP capability for interconnecting the mobile network with the enterprise thereby eliminating PSTN interconnect charges, a billing gateway, and a next-generation Network Services gateway (platform enabling third party value added services for the enterprise (e.g. mobile phone activation/de-activation, corporate directory integration) based on IMS (IP Multimedia Subsystem). It also includes the element management subsystem (EMS) and a service management subsystem (SMS) for the operational support system (OSS). The following Legend identified some of the terms used in FIG. 4.

Legend

-   -   GPRS: General Packet Radio Services—Provides mobility         management, session management and transport for Internet         Protocol packet services in GSM cellular packet networks.     -   GSM: Global System for Mobile Communications (GSM) is the most         popular standard for mobile phones in the world. GSM is both an         air interface and networking protocol. In the US this protocol         is used by T-Mobile and Cingular. The most popular alternative         combines the CDMA (Code Division Multiple Access) air interface         protocol and ANSI41 networking protocol that are used in the US         by Verizon Wireless and Sprint.     -   HLR: Home Location Register—The central database that contains         details of each mobile phone subscriber that is authorised to         use the cellular core network.     -   IETF: Internet Engineering Task Force—Is charged with developing         and promoting Internet standards, in particular, those of the IP         protocol suite.     -   IP: Internet Protocol—A data-oriented protocol used by source         and destination hosts for communicating data across a         packet-switched internetwork.     -   ISDN: Integrated Services Digital Network—A type of circuit         switched telephone network system, designed to allow digital         transmission of voice and data over ordinary telephone copper         wires     -   ISUP: ISDN User Part—Part of the Signaling System #7 which is         used to set up telephone calls in Public Switched Telecom         Networks.     -   MAP: Mobile Application Part (MAP)—A GSM protocol that provides         an application layer for the various nodes in the core mobile         network to communicate with each other in order to provide         services to mobile phone users     -   MSC: Mobile Switching Center—The component of a cellular system         that carries out switching functions and manages the         communications between mobile phones and the Public Switched         Telephone Network.     -   PRI: Primary Rate Interface—A telecommunications standard for         carrying multiple voice and data transmissions between two         physical locations.     -   PSTN: Public Switched Telephone Network—The concentration of the         world's public circuit-switched telephone networks, in much the         same way that the Internet is the concentration of the world's         public IP-based packet-switched networks.     -   SGSN: Serving GPRS Support Node—The component of a cellular         system that keeps track of the location of an individual mobile         station and performs security functions and access control for         Internet Protocol packet services in GSM cellular packet         networks.     -   SIGTRAN: The name given to an IETF working group that produced         specifications for a family of protocols that provide reliable         datagram service and user layer adaptations for SS7 and ISDN         communications protocols.     -   SS7: Signaling System #7—A set of telephony signaling protocols         which are used to set up the vast majority of the world's PSTN         telephone calls.     -   TDM: Time Division Multiplexing—A method for sending multiple         digital signals along a single telecommunications transmission         path.     -   VoIP: Voice over Internet Protocol—The routing of voice         conversations over the Internet or any other IP-based network.

Configurations: The solution enables various configurations to be deployed.

-   -   a. Pure enterprise call control in which the GS is located at         the enterprise site (GS-E) as shown in FIG. 4A (denoted as GS).         The GS-E interfaces with the cellular network nodes supporting         SS7 and SIP or other messaging with the carrier network. The         carrier network must be able to address the GS-E in order to         send and receive messages.     -   b. Split call control between carrier and enterprise in which         the GS located at the enterprise (GS-E) interacts with a GS at         the carrier (GS-C) as shown in FIG. 4B. The connection between         the GS-E and the GS-C can be SIP or other protocols. This         configuration typically enables the carrier network to have a         central point of control for interacting with multiple         enterprises, and may not require the use of SS7 messaging to the         enterprise—instead it is possible to have a secure IP connection         supporting SIP. This is also useful for offering a Centrex         solution for interconnecting with a carrier-hosted PBX, or for         interconnecting a carrier-hosted GS with enterprise-hosted PBX         systems. The GS-C supports an SS7 point code multiplexer in         which only one or two point codes are needed to address all         enterprises, since the GS-C can identify for which enterprise         the message is intended. The GS-E is able to provision the GS-C         automatically over the IP interface to manage subscribers, e.g.         to add new pilot DNs for new subscribers. In this case the         triggers used by the originating and terminating triggers used         in the cellular network for routing the calls to the GS-C can         add identifying information of the specific enterprise in the         triggering messages (e.g. ORREQ). Alternatively the GS-C can         identify the enterprise based on the calling party information.

The following description is based on FIG. 4A and illustrates one operation of the invention. When an employee originates a call, the information is transmitted to the MSC where the subscriber's profile is examined. The subscriber profile, previously downloaded to the MSC from the HLR when the subscriber activated and registered on the network, contains information that might say they have no voicemail service (since they are using the enterprise voicemail system), no three-way calling capability (since they are using the enterprise conference bridge capabilities), and have an Intelligent Network trigger for call originations, terminations and mid-call triggers. These triggers direct the MSC to query an SCP (Service Control Point) to analyze the digits dialed and decide on how to continue to route the call. The SCP is addressed using standard SS7 point codes. Alternatively, in an IMS architecture, the SCP can be an IMS SIP Application Server that is addressed via IP addressing instead of an SS7 point code. The gateway server acts as the SCP and receives the message where it communicates with the PBX to determine the routing of the call based on criteria such as whether the call should be directed into the enterprise to send to a local device, redirect over corporate least-cost methods, requires monitoring, or if the call should be routed directly by the carrier if, for example, the destination is to another subscriber on the same network in the same calling area and does not need to be monitored. The gateway server then responds to the MSC with the routing instructions. In the case where it has been decided to route the call into the enterprise, the MSC may be instructed to route the call over the PSTN network, or alternatively and preferred, the MSC may be instructed to route the call to a soft-switch which will connect the cellular TDM call waiting in the MSC to a Media Gateway which will convert the TDM to VoIP and route the IP-based voice traffic to the enterprise. The media is then redirected at the enterprise to the destination by either the gateway server or the PBX. In some cases, the gateway server may act as a back-to-back user agent (B2BUA) to the PBX in which the incoming call from the MSC is directed to be routed to a destination that is the B2BUA via the PBX. The gateway server, acting as the B2BUA, can then establish a new call leg to the original destination through the PBX (based on the information received when the gateway server was acting as the SCP/IMS SIP Application Server), and then connect the incoming call from the MSC to the new call leg.

Current enterprise PBX systems are developed to be ‘enterprise grade’ in terms of their reliability and availability, compared with carrier network systems which are ‘carrier grade’ with failover solutions to prevent or minimize interruption of service. Enterprise PBX systems are by design not as reliable as carrier networks. With the gateway server solution of the present invention, overall system availability is increased as the gateway server intermediates between the carrier and enterprise networks. If the PBX goes down, the gateway server 10 can instruct the carrier to route calls on behalf of the enterprise until the PBX is back in service. In the event that the gateway server 10 should go out of service, the architecture of the invention is such that the carrier network will automatically take over the calls, with only nominal delays in routing (for example, a timeout event may occur in the MSC, after which the MSC will continue).

Many cellular carriers today allow free calling between subscribers on the same networks (e.g. Verizon to Verizon, T-Mobile to T-Mobile). This is partly because the call is maintained within the cellular carrier's own network, thus no PSTN (Public Switched Telephone Network) interconnect charges apply to the carrier. In addition, to call from a cellular phone on one carrier to a cellular phone on another carrier, or from a cellular phone to a landline phone requires the call be routed through the PSTN, thus incurring PSTN interconnect charges to the carrier.

One architecture of the present invention as shown in FIG. 5 employs VoIP (Voice over Internet Protocol) to interconnect the carrier's cellular network, via a managed IP network or the Internet, with the enterprise network, eliminating PSTN interconnect charges to the carrier where allowed (certain countries do not allow bypassing PSTN interconnect). As a result, employing this solution enables cellular calls from an enterprise user on one cellular network to connect with another enterprise user on a different cellular network without incurring PSTN interconnect charges for either cellular carrier thereby reducing the cost for the cellular carriers to service the enterprise calls. This is because the call is routed by the gateway server from the first cellular carrier into the enterprise using VoIP, and from the enterprise out to the terminating cellular carrier using VoIP.

Similarly, cellular calls from enterprise users to landline phones are also transitioned from the cellular network to the enterprise over VoIP, and are connected with the PSTN at the enterprise's PBX instead of being connected to the PSTN from the cellular network. Again, this reduces the cost for the cellular carrier to service enterprise calls.

For the enterprise, PSTN interconnect charges are included as part of the landline subscription. North American landline calling plans are typically ‘all-you-can-eat’, with no per-minute charges for local PSTN interconnection. In Europe and other parts of the world, landline calls are charged per time interval (e.g. per minute, or per 6-second interval), however at a substantially lower connection charge than for cellular calls.

The diagram of FIG. 5 outlines the architecture using VoIP between the carrier and the enterprise. The Gateway Server-Carrier (GS-C) is located in the carrier site. The Gateway Server-Enterprise (GS-E) is located in the various enterprise sites. GS-C supports carrier network SS7 and IP signaling within the carrier's network environment. The GS-C may contain information about multiple enterprises that use the present invention including information about the individual enterprise network configurations. The GS-C may also contain certain subscriber information for employees of the enterprise that assists the GS-C in optimally routing the calls or handle emergency situations. The GS-C communicates with the GS-E sites to determinine if the cellular call should be routed into the enterprise network, and if so what is the closest point of attachment. Advantageously, the interface between the GS-C and GS-E is typically all IP-based—SIP, SIGTRAN or even an encapsulation of cellular protocols such as GSM MAP or ANSI-41 within IP or SIP. The GS-E interfaces with the enterprise PBX. Once the optimal routing is defined, the GS-E informs the GS-C. The GS-C communicates with the carrier's softswitch and media gateway to establish a bearer path that converts the TDM voice from the MSC to VoIP to be delivered to the enterprise. Once the bearer is connected with the enterprise, it is redirected to the appropriate destination using the bearer resources of the enterprise, such as VoIP connections to other offices, leased lines, or PSTN. The signaling and bearer traffic may traverse Session Border Controllers at the carrier and enterprise sites.

One preferred call flow for Call origination is shown in FIG. 6, and is as follows:

-   -   1. Origination Request received from Wireless Network     -   2. Info message used to query GS-E about mobile origination         policy for subscriber     -   3. info message received by GS-C with mobile origination policy     -   4. Response is returned to ORREQ giving GS-C as the destination         of the call     -   5. SS routes call to GS-C     -   6. GS-C—conveys the now call initiation to the GS-E     -   7. GS-E provides routing information to GS-C to get the mobile         subscriber's call to route to their home PBX     -   8. Receipt of routing information is acknowledged by GS-C     -   9. The call is responded to providing the new contact address         for GS-E.     -   10. Rerouting response is acknowledged     -   11. The call invitation is routed to GS-E     -   12. Media Server ports are requested—so that digits dialed can         be capture for feature invocation     -   13. The media server responds with the ports allocated.     -   14. GS-E sends the call invite to the PBX for routing to the         intended destination—user B     -   15. The PBX forwards on the Call invite to the User 8     -   16. User B indicates that ringing is occurring     -   17. The PBX sends the ringing indication onto the GS-E box     -   18. The GS-E box propagates the ringing indication to the         wireless network     -   19. User 8 answers the call     -   20. Answer is sent by PBX to GS-E     -   21. GS-C provides the destination port information to the Media         Server     -   22. Media Server acknowledges request     -   23. GS-C sends response to call onto wireless network     -   24. Answer is acknowledged by wireless network     -   25. GS-C propagates the acknowledgment to the PBX

26. PBX propagates the acknowledgment to User B

-   -   27. User B hangs up the call     -   28. PBX propagates the BYE to GS-E     -   29. GS-E, releases the media Server context     -   30. Media Server acknowledges the release     -   31. GS-E propagates the Bye to the wireless network.

One preferred call flow for effecting Call Delivery using VoIP is shown in FIG. 7 and is as follows:

-   -   1. Call Originates to PBX     -   2. PBX delivers call invite to User B desktop phone     -   3. PBX forks the call-delivers call invite to GS for wireless         user     -   4. GS-E allocates a media port to insert into the call path     -   5. Media Server acknowledges media resource allocation     -   6. User B indicates that ringing is occurring on desktop phone     -   7. Invite for mobile phone is sent into GS-C     -   8. GS-C using the Location Request—asks for the Temporary         Routing number required to deliver call to endpoint     -   9. Wireless network responses with the TLDN     -   10. GS-C tells GS-E to redirect the call to the TLDN     -   11. 302 Response is acknowledged     -   12. GS-E routes the call to the TLDN     -   13. Wireless network indicates that ringing is occurring on         wireless phone     -   14. GS-E propagates ringing to PBX for wireless end point     -   15. Wireless phone indicates that call has been answered     -   16. GS-E box modifies media context to include the wireless port         number information     -   17. Media server acknowledge update of media context     -   18. GS-E sends OK to PBX to acknowledge answer of call     -   19. PBX cancel the call log to User B     -   20. PBX acknowledges call answer to GS-E     -   21. GS-E propagates ACK to wireless network     -   22. User B acknowledges the cancel request     -   23. PBX acknowledges receipt of the request terminated message.

One preferred call flow for effecting Mobile termination using VoIP is shown in FIG. 8 and is as follows:

-   -   1. Termination Trigger indicating that call has been terminated         to Mobile number     -   2. GS-C requests termination policy from GSE     -   3. GS-E returns termination policy and based on policy routes         call into enterprise for handling     -   4. GS-C reroutes call into Enterprise for handling     -   5. Call arrives at GS-E for handling     -   6. GS-E allocates media ports for feature invocation     -   7. Media Ports and allocate and response is returned     -   8. GS-E ask PBX to route call to appropriate end point     -   9. PBX sends invite to end point     -   10. End Point starts ringing the end point     -   11. Ringing indication is sent back to GS-E     -   12. Endpoint answers the call     -   13. Response is relayed to GS-E     -   14. Media Ports are modified to reflect end point IP         address/port     -   15. Media Server confirms that ports have been set up     -   16. Ack confirms that bearer path is set up to PBX     -   17. Ack confirms to end point that bearer path is set up

TABLE 1 Benefit Description Increased personal The gateway server's cellular access enables anytime, anywhere and workgroup accessibility using the enterprise's corporate PBX network. Extending productivity voice and other applications such as e-mail and instant messaging with mobility creates immediate productivity improvements. Lower Long Because the gateway server solution includes routing all enterprise users' Distance Costs cellular calls through the enterprise Voice over IP network, voice traffic is always routed efficiently and takes advantage of the enterprise's low cost long distance services. The higher volume of traffic also enables the enterprise to negotiate better rates from their long distance service provider. Seamless integration Using Voice over IP technology, the gateway server integrates with the enterprise seamlessly with the enterprise's existing PBX solution. Additionally, the PBX and IT gateway server provides a platform for tightly integrating wireless access applications with IT applications. Examples of these applications include e-mail, instant messaging, sales force automation, enterprise resource planning, field support, time reporting, customer billing, etc. Control of a Mission The gateway server enables the enterprise to control its cellular service Critical Service both from an administrative perspective and a disaster recovery perspective. For example, the gateway server lets the enterprise and/or the employee handle the provisioning of their own services. Additionally, the gateway server supports geographic redundancy, such that in the event of a disaster at one location, all control is transferred to the backup installation. Leverages existing The gateway server solution allows the enterprise to re-use other voice enterprise and data infrastructure for both desktop and cellular use- One key infrastructure example is the enterprise voice mail system: Both the desktop phone and wireless phone can forward to the same voice mail box operated by the enterprise. Message waiting indicators can be turned on and off on both phones simultaneously. Enables “best- The gateway server enables the enterprise to monitor and record cellular practices” control phone calls, just as they can do with deskphone calls today. This supports procedures “Sarbanes-Oxley”-like control procedures that are being implemented by major corporations for best practices. Seamless cellular The gateway server solution includes the necessary business agreements service, globally (including roaming agreements) to enable enterprise users to have seamless cellular access all over the world. Higher Control for Companies typically allow an employee to choose their own cellular the Enterprise phone, plan and carrier. Unlike the desktop phone, the company has no controls over how the employee uses the cellular phone. The gateway server solution provides for a policy-based service provisioning: Employees are given a profile which defines what kind of calls they can make. Today, when the employee terminates their employment with the company, they keep their phone and cellular phone number. As the company's customers have been given this number, they will continue calling the employee after he has left the company. With the gateway server solution this situation will not occur as the company is now in control of both the mobile device and cellular number. Calls to an un- used number can be intercepted and handled appropriately. Convenience of One Enterprise users will no longer have to give out both desktop and cellular Number numbers. The gateway server solution integrates seamlessly with the enterprises PBX and enables advanced services like “One Number”. Single corporate The gateway server and the enterprise PBX can share a common dialing wide dialing plan plan. This means that four or five digit dialing available on the desktop phone can also be used on the cellular phone (both in and out of the office). It also means that all cellular calls will be routed in the same way a call originated from a desktop is routed. Lower Using the gateway server solution, the enterprise always receives the Administration lowest negotiated rate for both cellular voice and cellular data traffic. The Costs gateway server decides whether to route the call into the enterprise to be routed over the enterprise network, or to instruct the cellular network to proceed with routing the call (for example, if one enterprise user is calling another enterprise user on the same cellular network, and neither user is marked for the conversation to be monitored). Neither the enterprise nor the employee have to evaluate the different plans the cellular operator offers and guess at which one would be best suited to the employee. Instead, all employees are part of the single corporate negotiated plan. Additionally, costs involved in expensing and reimbursing employee cellular phone costs are eliminated. Security As the gateway server includes the wireless data router, security vulnerabilities are reduced as data traffic is never “exposed” outside of the enterprise.

The invention enables a multi-dimensional paradigm change that has profound effects on the overall industry, as it will not only change how enterprises purchase and use cellular service—but will ultimately impact the entire value chain for wireless and wireline service providers and manufacturers.

The gateway server 10 architecture enables the migration of centralized call control from the cellular carrier networks to distributed call control throughout individual enterprise networks. The gateway server 10 enables cellular service to effectively be “plugged-in” to the PBX, similar to how local and long distance service are connected to current PBXs.

As a result of gateway server 10 capability, enterprises are equipped for carriers to compete for the enterprise's cellular PBX service as they do today for local and long distance interconnection with the PBX. By winning the business, carriers will benefit from locking in large numbers of users while significantly reducing its sales, marketing, and acquisition costs since service minutes will be sold bulk to the enterprise as a whole, no longer to individual employees. Though the invention has been described with respect to a specific preferred embodiment, many variations and modifications will become apparent to those skilled in the art upon reading the present application. It is therefore the intention that the appended claims be interpreted as broadly as possible in view of the prior art to include all such variations and modifications.

Advantages of the gateway architecture are shown in Table 2.

TABLE 2 Situation without Gateway Server Situation with Gateway Server Cost for Cellular High Cost Low Cost Service Asset Reuse No utilization of enterprise telecom High utilization of enterprise telecom assets assets Services Purchase all services from carrier (e.g. Reuse corporate Voice over IP, least Long Distance, Voicemail, 3-way cost routing, voicemail, etc. calling, etc.) Devices Each employee requires a deskphone Possibility to replace deskphone with and a separate cellular phone cellular phone results in less equipment to support and less subscriptions Move-Add- MAC required every time employee No MACs required for cellular-PBX Changes changes offices for desk phone = time + users (MACs) expense Control of Low degree of control - managed Higher degree of Control for Cellular Usage exclusively by carrier enterprise Rate Individual cellular subscription plans Bulk Rate discount minutes for all employees On-Net Routing Two-stage dialing required. Difficult Automatic on-net routing, no user to dial contacts intervention required Long Distance Purchased from carrier - Included in Bulk rate airtime minutes do not service plan for national LD, charged include Long Distance (lower cost to separately for international at high enterprise) - any LD calls (national or rates international) are routed over corporate VoIP network: “Forced on- net” Tail-end Hop No Tail-end Flop Off Tail-end Hop Off for long distance Off calls where permitted Service Provider Individual employee relationships Single relationship into Service Relationship with carrier Provider for all corporate subscribers - Better leverage for negotiating supply, reduces minutes wasted in individual buckets Sales, Carrier subject to expenses for sales, Single relationship between enterprise Marketing. marketing, subsidies per individual & carrier: No individual sales, Customer Care, subscriber marketing, subsidies Subsidies Customer Care Provided by carrier Tier 1 provided by enterprise PBX IT department, Tier 2 by carrier Expense Manual expense handling per PBX tracks cellular calls - charges to Handling employee appropriate cost center, like landline calls VolP Integration No VoIP integration - all LD from VoIP integration with carrier carrier trunks eliminates PSTN Interconnect charges; VoIP call routing on enterprise networks for LD Policy and No Policy control Calls subject to PBX corporate Control policies per user (internal calling only, local calling allowed, national long distance allowed, international allowed) Tracking Tracking of cellular calls via printed Cellular calls automatically tracked in subscriber bill only PBX Call Monitoring Cannot monitor or record cellular Cellular calls can be monitored and calls recorded no matter where subscriber is located Reconciliation No reconciliation for cellular charges Reconciliation of cellular calls tracked from carrier in PBX with carrier records Integration with Little or no integration with corporate Can be integrated with corporate IT IT Applications IT applications. applications, e.g., Corporate Phone Directory, security/badging systems to activate/deactivate cellular phone, corporate ERP, CRM systems Convergence Cellular, Local and Long Distance Possibility for single provider for from separate carriers Cellular, Local and Long Distance One-Number Separate desk phone and cellular Opportunity for true single number service phone. for both cellular and desk phone Device Through carrier - no customization Direct from manufacturers. Acquisition Possibility to standardize corporate Customization device strategy, customize to enterprise IT needs.

Current Situation

Existing platforms for detecting DTMF digit events fall into one of the following two categories:

-   -   Category I) Required to be a terminating end-point for a call         session     -   Category II) Expensive hardware-based solution

Category I) solutions do not allow the call server to provide mid-call services during an active two party call session and therefore do not provide the necessary functionality. Category II) solutions provide the necessary functionality but are too expensive and increase the hardware footprint too much to be viable solutions.

The Solution

One preferred embodiment of the invention includes a new mechanism whereby a VoIP call server can detect Dual Tone Multi Frequency (DTMF) digit events within the bearer stream of a VoIP call session. A call server is defined as being an intermediate node on the signaling path of a call (e.g. a routing proxy) rather than an endpoint such as an Interactive Voice Response (IVR) system. This embodiment of the invention allows the call server to cost effectively provide mid-call services to end clients based on DTMF digit events originated by a client.

This preferred embodiment of the invention, herein as the Packet Engine and shown in FIG. 12, allows a call server to detect DTMF digit events on the call path of an active two party call session using a software only solution. This software only solution provides the requisite functionality in a cost-effective and scalable manner.

The Packet Engine can be advantageously deployed on a separate hardware platform from the call server, on the same hardware platform, or even statically linked into the call server process itself in order to provide both flexibility and scalability. The Packet Engine supports control by multiple call servers in the network. Likewise, a single call server can control multiple Packet Engines providing for a many-to-many relationship.

In one preferred embodiment, the Packet Engine consists of two parts: a user space process as shown in FIG. 13 and a Linux kernel module as shown in FIG. 14. The user space process is responsible for receiving and sending commands to/from the call server. The user space process utilizes the Linux utility IPTables to create port mappings within the IP stack. This advantageously allows RTP media packets to flow from one side of the Packet Engine to another in a highly efficient manner (all forwarding is done within the stack preventing packets from being sent up to the user space process).

The second part of the Packet Engine, the kernel module, allows the Packet Engine to determine which packets being forwarded by the IP stack contain DTMF digits. The kernel module examines the headers of each RTP packet being forwarded and checks the Payload Type field. If the Payload Type field indicates the packet contains a DTMF event (encoded as per IETF RFC 2833) then the kernel module sends the packet up to the user space process for further application level processing. The kernel module advantageously operates as an extension (plugin) to the Linux kernel and therefore allows incoming packets to be examined in a highly efficient manner since the packet never leaves the kernel.

Once in the user space, the DTMF events are reported up to the call server in order to enable feature invocation. The Packet Engine can be supervised by the call server to only look for specific DTMF digit patterns and report them to the call server or it can be supervised to look for and report all DTMF digit events. The Packet Engine utilizes a buffer and an inter-digit timer to determine the start and stop of digit patterns (e.g. *97) in order to differentiate a feature invocation digit pattern from standard DTMF digits being sent to end client application such as an IVR.

The invention also advantageously provides a network-based architecture that enables the support for existing standard cellular handsets, without modifications or client software on the devices. Next generation specialized Wi-Fi and client-based handsets are also supported. By comparison, alternative solutions may require specific expensive specialized handsets with downloadable software clients that need to be managed by the enterprise IT department. The usability of these services is often not as intuitive and simple as using the standard phone capability for making calls, since the software is downloaded onto the device and subject to the device's capabilities and restrictions such as window screen size and soft & hard key programming. In addition, because the client is itself is an application running on the device, the client has to be activated, or ‘turned-on’ to run the application to integrate with the enterprise network. This means it may be possible that the employee chooses not to activate the feature, and thereby continue to make calls on the cellular network that are not tracked, managed, monitored or routed over the corporate network (for least cost routing) by the enterprise's PBX.

Because the described solution is network-based, the employee cannot circumvent the enterprise integration. At the discretion of the enterprise, employees may be permitted to use the cellular phone for personal use, for example on weekends or after work, by tracking these calls and charging them to the employee or deducting directly from their paycheck. The cost of the personal calls may still be at the corporate discounted rates which would thereby benefit the employee.

IMS Architecture

The gateway server 10 is based on the next generation IMS (IP Multimedia Subsystem) architecture as shown in FIG. 10, and is designed to be backward compatible with legacy cellular networks based on existing cellular protocols. This feature enables the gateway server 10 to be futureproof as operators roll out an IMS architecture over time, while still supporting the overwhelming majority of existing legacy networks and devices that do not support IMS.

Current competing solutions are designed using legacy network architecture only, with no support for IMS. Effectively, the gateway server IMS solution adds modules for supporting ANSI-41/WIN and GSM-MAP/CAMEL and AIN protocols to achieve backward compatibility with legacy networks, as shown in FIG. 11.

Legend

-   -   BSC: Base Station Controller—Component of a cellular network         that connects between the MSC and the Base Station Transceivers         that communicate with mobile devices over the air     -   CAMEL: Customised Applications for Mobile networks Enhanced         Logic—A set of GSM standards designed to allow an operator to         define services over and above standard GSM services based on         the Intelligent Network (IN) standards, and uses the CAP         protocol.     -   CAP: CAMEL Application Part—Protocol stack that provides service         control for voice & data services and IP multimedia sessions     -   CCCF: Call Continuity Control Function—Signaling function for         ensuring voice call continuity across disparate networks such as         from cellular to Wi-Fi networks     -   IM-SSF: IP Multimedia Service Switching Function—Interfaces with         CAMEL Application Servers using CAP     -   MGCF: Media gateway Control Function—Signaling controller of         Media gateways using SIP     -   MGW: Media gateway—Component of a communications network that         converts between different media types (e.g. VoIP and TDM voice)         for delivering bearer traffic.     -   MMSC: Multimedia Messaging System—A system of transmitting         various kinds of multimedia contents (e.g. images, audio &/or         video clips) over wireless networks using the Wireless         Application Protocol (WAP) protocol.     -   NeDS: Network Domain Selection—Signaling function that controls         selection of different access networks for delivering calls     -   P-CSCF: Proxy Call Session Control Function—The SIP proxy server         that is the first point of contact for a terminal with the IMS         network     -   SCP: Service Control Point—A standard component of IN         (Intelligent Networks) used to execute and control IN services     -   S-CSCF: Serving Call Session Control Function—The central IMS         SIP server of the signaling plane for controlling sessions     -   SIP: Session Initiation Protocol—A protocol developed by the         IETF for initiating, modifying, and terminating an interactive         user session that involves multimedia elements such as video,         voice, instant messaging. In November 2000, SIP was accepted as         a signaling protocol of the IMS architecture. It is one of the         leading signaling protocols for Voice over IP, along with H.323.     -   SIP-AS: SIP Application Server—IMS element for invoking and         controlling services     -   SMSC: Short Message Service Center—Application for enabling the         transmission and reception of text messages on mobile phones     -   VM: Voicemail—Application for recording and retrieving voice         messages     -   WAP: Wireless Application Protocol (WAP)—Open standard for         Internet access from a mobile phone.     -   WIN: Wireless Intelligent Network—Signaling standard designed to         allow an operator to define services over and above standard         ANSI-41 services based on the Intelligent Network (IN) standards

The invention also advantageously provides a network-based architecture that enables the support for existing standard cellular handsets, without modifications or client software on the devices. Next generation specialized Wi-Fi and client-based handsets are also supported. By comparison, alternative solutions may require specific expensive specialized handsets with downloadable software clients that need to be managed by the enterprise IT department. The usability of these services is often not as intuitive and simple as using the standard phone capability for making calls, since the software is downloaded onto the device and subject to the device's capabilities and restrictions such as window screen size and soft & hard key programming. In addition, because the client is itself is an application running on the device, the client has to be activated, or ‘turned-on’ to run the application to integrate with the enterprise network. This means it may be possible that the employee chooses not to activate the feature, and thereby continue to make calls on the cellular network that are not tracked, managed, monitored or routed over the corporate network (for least cost routing) by the enterprise's PBX.

Because the described solution is network-based, the employee cannot circumvent the enterprise integration. At the discretion of the enterprise, employees may be permitted to use the cellular phone for personal use, for example on weekends or after work, by tracking these calls and charging them to the employee or deducting directly from their paycheck. The cost of the personal calls may still be at the corporate discounted rates which would thereby benefit the employee.

System and Method for Executing Originating Services in a Terminating Network for IMS and Non-IMS Applications

The invention describes a system and method for executing originating services in a terminating IP Multimedia Subsystem (IMS) network in which a triggered application may or may not support IMS.

One of the benefits of such an invention is to enable an IMS network to interface with a non-IMS network. Another benefit is to enable an IMS network to interface with a second IMS network supporting a non-IMS application. A third benefit is that an originating IMS network need not have to support all originating services for the originator as the invention enables a second network to offer originating services for an originator in a first network.

A Gateway Server acting as an IMS standard-compliant SIP Application Server in a first IMS network can communicate with a corresponding GS in the terminating network to enable origination services to be executed in the terminating network even if the terminating network is not IMS-compliant. The GS-C is typically located in the wireless carrier network which may be IMS-compliant, while the GS-E is typically located in the enterprise network which may or may not be IMS-compliant. This application server in the enterprise could be a PBX which effectively serves subscribers in a manner similar to an IMS Serving-CSCF, however does not support IMS interfaces.

Irrespective of whether the terminating network is IMS-compliant or not, the described architecture in which a GS is acting as an IMS-compliant SIP-AS within the IMS network interfacing with a GS in another network enables this second network to offer origination services separately from the first network.

For this to occur, the session, when passed to the GS-C application server, is redirected into the terminating network, which could be an enterprise. This is performed by resetting the destination address to an enterprise specific address and instructing the wireless network route that session into the foreign domain of the enterprise network. GS-C may communicate with the GS-E directly outside the IMS network, or through the stand IMS network messaging.

To enable the execution of originating services within the terminating network, the GS solution enables the enterprise network to provide those services by passing the session to a PBX as if it were a request for originating services. Therefore two types of originating services can be executed—those in the wireless carrier network (the originating network) and those of the enterprise (the terminating network).

In a similar manner, termination services are executed in the terminating network. When a session is terminated to an enterprise user, the GS solution enables the PBX to execute its terminating services for that user, and then pass the session to the IMS network as a termination such that the terminating wireless carrier may also apply terminating services for the terminating mobile subscriber.

FIG. 15 outlines the current IMS standard definition in which an IMS device A originating a session with the carrier IMS network communicates with the data gateway (1) which forward to the P-CSCF (2) which ultimately communicates with the Serving-CSCF (3). The S-CSCF triggers on the Initial Filter Criteria (IFC) to one or many SIP-AS which perform the origination services for user A prior to routing the session (6) to the destination in the terminating carrier IMS network through the I-CSCF to user B's S-CSCF (7).

The S-CSCF then triggers on the IFC to one or many SIP-AS which perform the terminating services for User B (8)-(9) prior to terminating the session through the data gateway (11) to user B.

FIG. 16 outlines the invention whereby the steps 1 through 5 are the same as previously described, whereby the GS-C represents a SIP-AS that is triggered by the IFC. The GS-C may communicate with the GS-E directly (8) to prepare it for an upcoming communication (9), in which case the GS-C/E are treated as a complex by the originating network's S-CSCF. Alternatively the GS-C can communicate with the GS-E entity through the standard IMS interfaces (9). In either case, the S-CSCF then routes the session (9) to the destination in the terminating carrier IMS network through the I-CSCF as part of the GS-E, to user B's S-CSCF (10), which may act as a front-end converted to a non-IMS application such as a PBX. In this case the S-CSCF Front End (FE) converts the IMS messaging into the corresponding SIP-AS service-invocation messages of the non-IMS application (11).

The FE may convert the terminating services request to an originating services request prior to communicating with the terminating service (11). This allows the terminating service to invoke services as if it were an originating node. For example, the PBX can perform originating services such as invoking call policy (restrict user A from dialing international) prior to routing the call.

Once the originating services are executed, the non-IMS application can then perform terminating services. For example, the PBX could invoke destination services for user B to route calls from user A to voicemail.

In the case where the terminating network application were IMS-compliant (e.g. an IMS-compliant PBX), the FE would convert the terminating services request to an originating services request prior to communicating with the IMS-compliant application (11), and once the originating service has been performed, the application would return control to the FE which would then invoke another service request back to the IMS-compliant application to perform terminating services.

System and Method for Enabling Multi-line Mobile Telephone Service on a Single-Line Mobile Telephone

Another embodiment of the invention includes a system and method for enabling a multi-line mobile telephone service using a single-line mobile telephone. The embodiment of invention applies to various network architectures used in communications systems including legacy mobile network architecture based on SS7, GSM-MAP and/or ANSI-41, as well as the next generation IP Multimedia Subsystem (IMS) network architecture.

One of the benefits of this embodiment is enabling a subscriber to manipulate the outgoing caller identification information when originating a call, such that the called party will see the identity (including the phone number and name information) that was selected by the calling party.

An example of this embodiment of the usage of the invention might be a doctor whose patients are directed to call a special phone number to reach the doctor after hours. The doctor can set the special after-hours phone number to forward to their mobile phone using existing solutions that exist today. This way the doctor need not give out their personal mobile phone information. When a patient calls the special after-hours phone number, the call is forwarded to the doctor's mobile phone without revealing the doctor's mobile phone number to the patient.

However in the reverse case, this embodiment of the invention enables the doctor to call a patient from their mobile phone without revealing their mobile phone number. This is done by enabling the doctor to select a specific outgoing line from which to originate the call on their mobile phone. The patient will see the calling party identification information of the outgoing line selected by the doctor, which could be the special after-hours phone number, not be the doctor's mobile phone number.

The function of this embodiment of the invention is described below. This feature can operate in a legacy mobile network architecture such as GSM-MAP or ANSI-41, or in a next generation architecture such as IMS.

Outgoing Call Handling

Prior to originating an outgoing call the calling party can identify the outgoing line information using various means such as:

-   -   On a per-call basis, dialing a prefix to the outgoing number         such as #542 or *542 (where 54 are the digits that represent the         letters LI on a telephone keypad) indicating to use Line 2. Thus         the digit string might be *542-212-481-2813<SEND>     -   On a permanent calling basis, dialing a feature-activation code         such as #542 or *542 indicating to use Line 2 for all outgoing         calls until a subsequent instruction is received. The digit         string might be *542<SEND>. The subscriber can then dial any         outgoing call such as 212-481-2813, and the call will be         originated from Line 2.

Referring to FIG. 17 and FIG. 18, to enable this capability, a Gateway Server Carrier (GS-C) acting as an IMS standard-compliant SIP Application Server in an IMS network architecture, or acting as an SCP (Service Control Point) in a legacy network architecture, will be triggered by the network to invoke a service. In the IMS case this trigger typically results from the Initial Filter Criteria (IFC) that is derived from the subscriber's Home Subscriber Server (HSS) profile and utilized by the Call State Control Function (CSCF). In the legacy case this trigger results from an intelligent network trigger that is originated from the Mobile Switching Center (MSC) based on the subscriber's Home Location Register (HLR) profile.

Once the trigger is received in the GS-C containing the digits dialed by the subscriber, the GS-C can then invoke the service whereby it can communicate with a Gateway Server Enterprise (GS-E) located in an enterprise. The GS-E can then originate an outgoing call to the intended destination using the outgoing line including the appropriate calling line information selected by the subscriber, and then connect that outgoing call leg to the originating call leg from the subscriber.

In the case of a per-call invocation of the multi-line service, subsequent calls made from the mobile phone would have the line selection default back to either a primary line, or to the last line selected in a previous call. For example, if a user's primary line is 212-814-4490, and they originate a call with digits *542-212-481-2813 indicating to use line 2 to call to destination 212-481-2813, then if the same subscriber subsequently dials another number such as 212-777-2222, this call would originate from either the primary line 212-814-4490 or from the previously selected line 2 from the previous per-call invocation of *542-212-481-2813. Thus the called party (212-777-2222) would see the calling party information as either the primary line 212-814-4490, or the previously per-call selected line 212-481-2813. The preference of whether subsequent calls should default back to the primary line or to the last line selected in a previous call can be defined by either the service provider, the system administrator or the user if permitted.

In the case of a permanent invocation of the multi-line service, all subsequent calls to the feature invocation (i.e. following the dialing of *542 indicating the selection of line 2), would continue to use line 2 until changed by the user, the system administrator or a function such as a timer or external application. For example, a calendar event could automatically reset a doctor's outgoing mobile phone line back to the daytime office number beginning each morning.

Additionally, a user may select a personality or profile based on various criteria (such as the user being at work, in a meeting, at home outside of work hours, etc.). The personality or profile can be selected manually or automatically set based on criteria such as whether the employee has badged into the office or has logged into their work computer, Time-of-Day or Day-of-Week information, or other criteria. The personality or profile would determine the outgoing line to be used—such as a personal line when after six in the evening, or when the user has badged out of the office or has logged out of their work computer. Additionally the personality or profile could determine which voicemail system to use, in addition to the customizing and tailoring of other services.

Incoming Call Handling

Referring now to FIG. 19, for incoming calls on various lines that are to be directed to the subscriber's mobile phone, the calling name and number information may be preceded with supplementary information to indicate which line was called. For example, an indicator such as 2# could precede the incoming calling name or calling number information to indicate the call came in on line 2. Simultaneously or alternatively a distinctive ring can be invoked instead of the standard ring, to indicate which line was dialed by the calling party.

Note in some cases replacing the first set of digits (such as the area code digits) with the line information may be preferred instead of prefixing the line information to the full digits in order to preserve the display formatting on certain mobile phones. This is because certain mobile phones support only ten digits in the display, therefore if line information is prefixed to the digits, the ending digits would not appear in the display.

Incoming calls on various lines that are intended to be routed to the subscriber's mobile phone terminate at the GS-E. The GS-E identifies the destination mobile phone to which the incoming call should be routed based on various criteria such as time-of-day, day-of-week, permanent settings, or other user/administrator settings for determining call routing.

If the GS-C has the ability to originate outgoing calls then the GS-E orders the GS-C to originate a call to the subscriber's mobile phone with the calling name and number information of the calling party prefixed with supplementary information to indicate which line was called, and/or with a distinctive ring indicator. Once the outgoing leg is established, the GS-C connects the outgoing leg to the incoming call leg in the control of the GS-E.

If the GS-C does not have the ability to originate calls then the GS-E originates the outgoing call to the subscriber's mobile phone with the calling name and number information of the calling party prefixed with supplementary information to indicate which line was called, and/or with a distinctive ring indicator. Once the outgoing leg is established, the GS-E connects the outgoing leg to the incoming call leg.

Technical Advantages

1. Provisioning: The gateway server may also support a provisioning engine for provisioning the functions of the server itself, as well as provisioning external nodes including the enterprise PBX and the public carrier cellular network nodes. It may be possible that the gateway server provisioning engine (GSPE) front-end the entire PBX and be used to provision all data in the PBX. Alternatively the GSPE may be used to provision all functions in the PBX related to a cellular subscriber including their landline information, or it may be used to provision only the cellular portion of PBX subscriber information. In the cellular network, the GSPE may be used to provision the HLR/HSS of the carrier to modify existing service profiles for employees that are currently subscribers of the operator's network and are being transferred to the new service plan for enabling this service. The GSPE may also be used for provisioning new subscribers to the service that were previously not subscribers of that operator. The GSPE may also be used for provisioning other nodes in the cellular network such as a Foreign Agent, Home Agent, soft-switch, MSC, SGSN or GGSN. These functions would typically be provisioned with routing information used for enabling the service.

2. Method for speeding up call originations/terminations by using predictive techniques for routing half call, using intelligence to decide when to route calls to different devices based on presence, routes, TOD, distance. Calls routed to/from a subscriber of this service typically occurs in two stages, e.g. from the cellular network to the enterprise, and from the enterprise to the destination. Since the gateway server is notified in the first stage of the originator and the desired destination, it is possible for the GS to begin routing the second leg prior to the first leg's bearer being established. Using intelligence of the destination route combined with knowledge from past experience in the time it may take to route to a certain destination using a particular method or link, the GS may predict the moment at which it should begin routing the second leg of the call in anticipation of receiving the indication that the bearer for the first leg being established such that the two legs can be connected together with no delays. This technique can be used to minimize the chances that the second leg will be established and answered by the destination party before the first leg is setup. Conversely, this technique may minimize the wait of the originating party for the second leg to be established since the first leg need not be completely established to the enterprise before routing of the second leg is started. The GS may continuously update its information with intelligence about the routing times for specific destinations, and use this information in deciding the timing of setting up the call legs in order to minimize the end-to-end call establishment time.

3. Enterprise Call presence for mobile phones: Because the GS is located in the call path, the GS maintains knowledge of when a subscriber is active and available for calls, and also when a subscriber is currently in an active call. The GS can share this information with applications that may be used to, for example, indicate to other users that the subscriber is currently busy in a call. When the subscriber terminates the call, this information can be used to inform another user that the subscriber is available to receive a call. This presence information can also be provided to other presence servers that may be outside the enterprise site including with the carrier.

4. Enterprise HLR/HSS: The invention enables the distribution of HLR/HSS subscriber information among multiple sites within the enterprise. For example, the HLR/HSS information may be distributed according to the various PBXs in the enterprise network such that cellular information is stored at the site where the subscriber has a PBX subscription. The location of this information within the enterprise can be hidden from an outside entity such as the public carrier network such that an outside entity need not have to know where it is stored in order to access it. Any point of entry to the enterprise network may be able to locate the information of a particular subscriber.

5. Data—VPN-less session setup for enterprise. The invention enables a GGSN or HA to be including in the GS in the enterprise such that a secure data session can be established automatically between a device on the cellular network and the enterprise network by establishing a GTP tunnel between the carrier-hosted SGSN and the enterprise-hosted GGSN. In addition, in the case where there is a GS-C located in the carrier network that interfaces with GS-Es in the enterprise network, it is possible for the invention to add additional security and encryption specific to the enterprise's needs between the carrier's network and the enterprise. In this configuration, the function of the GGSN can be split between the GS-C and the GS-E such that the carrier network interfaces with the GS-C hosted within the carrier site, while the GTP tunnel and secure encrypted data session can be drawn out to the GS-E hosted within the enterprise. All data traffic to/from the mobile device will traverse the enterprise and its associated secure firewall. Billing for the wireless carrier can be supported within the carrier's network via charging records being generated from the GS-C. Enterprise charging records can equally be generated within the enterprise from the GS-E in order to enable the enterprise to keep track of usage and be able to compare with service bills from the carrier received at the end of a billing cycle.

6. Alternative methods for handling call originations: Using SMS and Hotline for call originations: Alternative solutions can be used in place of Intelligent Network triggers such as WIN or CAMEL for communicating with an SCP function in the enterprise. One technique is to use a method such as Short Message Service (SMS) to send the origination information from a mobile to an application server in the enterprise, and then to enable a “hotline” feature in the subscriber profile that forces the mobile to route to a specified destination no matter what is dialed. The hotline feature is often used to route to customer service when a new phone is being setup. In this case the hotline feature would route all calls to a destination that would ultimately route into the enterprise network, either using VoIP or PSTN. By sending the origination information including the originating subscriber number and the destination digits to the application server in advance of the hotline call, this information can be used to identify the incoming hotline call, and re-route it to the desired destination. In order to be able to use SMS in this manner, it may be required to have a special client on the device that captures the digits and sends them in an SMS to a specific server. Alternatively this functionality could be built into the device natively thus not requiring a software client. Note in this case that the destination SMSC may also be the GS instead of the carrier's SMSC since it is important that this information be delivered in real time, and not delayed through store-and-forward in the carrier's SMSC. Otherwise the routing of the call could be delayed.

An alternative routing method does not require the hotline feature to be activated. Instead, when the SMS message is received at the application server, the application server can originate calls to the destination and to the originator's device. The originator would answer the phone and be connected with the second leg. If a client is on the device, the client may automatically answer the incoming call from the application server without ringing so as to appear as if the call was established by the originator's device when the SMS was sent. Other methods other than SMS for delivering the origination message may be used such as over-the-air messages and/or Unstructured Supplementary Service Data (USSD). Another alternative provides that originating calls are routed based on the subscriber profile to specific routes or trunk groups within the MSC. The destination routes to the GS which captures the original calling and called party information. The GS can analyze the routes and re-route the call accordingly, for example into the enterprise using VoIP.

This solution also enables the GS to manipulate call legs to be able to perform handovers (or handoffs) between, for example, a wi-fi network and a cellular network by enabling the GS to establish a new call leg for a call in progress and join or switch the failing call leg to the new leg. Similarly this kind of call leg manipulation can be used to maintain or reconnect a call that has been lost—for example if a subscriber enters a tunnel where there is no cellular coverage and therefore the call leg is lost, the GS can decide to maintain the other call leg up and potentially treat the leg by playing a message to inform the party that the call is being reconnected. The GS can then proceed to re-establish the call leg by establishing an outbound call to the device once they exit the tunnel, or having the device originate a call back to the GS if the device has a software client—and then the GS can reconnect the legs together, or the user manually originates a call back to the GS.

7. The combining of cellular nodal functions in a single functional entity: GMSC, GGSN, SCP, IMS SIP Application Server, Call Server. The invention combines the functionality of multiple cellular network nodes into a single entity that is scaled down to support in the order of thousands of subscribers compared with individual cellular nodes supporting millions of subscribers. The invention supports a GMSC for enabling call originations to an enterprise number to be redirected to a cellular phone number and routed using least cost routing techniques whereby the GS discovers the location of the terminating subscriber and can route the call to that serving MSC over alternate routes such as a public or private VoIP network. This reduces or eliminates transport costs to the public carrier since the call is routed over lower cost routes using VoIP, or completely outside the carrier's network. The interconnection to the carrier's network can be using VoIP which avoids any PSTN interconnect charges. The SCP function enables originating and terminating calls to be routed according to instructions from the enterprise in the GS which interacts with the enterprise PBX system. Similarly this is achieved with the IMS SIP Application server function in the case of an IMS network architecture. The Call Server enables the carrier to route calls to and from their network using a distributed soft-switch and media gateway architecture that enables the bearer to be transmitted over VoIP instead of traditional trunks. Thus the carrier can route calls into and out of the enterprise over VoIP thereby avoiding PSTN interconnection and associated charges. The GGSN function onboard the GS enables the enterprise to route data sessions in a similar manner to how the invention describes the routing of voice calls. By including a GGSN function within the enterprise and connected with the cellular carrier's SGSN, a secure tunnel can be established between the carrier and the enterprise networks. Similarly this can be achieved with a Home Agent function located within the enterprise and connected with the carrier's Foreign Agent for CDMA networks. As such, the invention:

-   -   i. Eliminates the need for VPN software to be launched on the         mobile device     -   ii. Subjects the mobile device to enterprise data policy         including security and firewalls no matter where the device is         located, and without the need for user interaction—all data         sessions are routed through the enterprise's corporate network         and firewalls     -   iii. Enables software applications to be embedded in wireless         devices that can be launched remotely to, for example, destroy         data on the device should the unit be lost or stolen—e.g. Poison         Pills

8. Least cost routing for mobile originations to bypass long distance in control of enterprise: The invention describes how to bypass long distance for cellular subscribers for both international and national long distance, by routing the calls from the serving MSC into the closest point of entry into the enterprise network. This connection can be using traditional trunks which incur costs but is reduced since the call may be routed from the serving MSC to a local point of attachment to the enterprise network, or the connection can be using VoIP from the carrier network to the enterprise, which avoids any PSTN interconnect charges and also enables the call to be considered a local call even if the closest point of attachment is not local—the cost is according to VoIP tariffing which may include free nationwide as well as to Canada, western Europe and parts of Latin America.

The invention also describes the concept of Tail-End-Hop-Off (TEHO). TEHO enables an employee dialing long distance to route the call as far as possible via least cost routing, and route the last leg from the least expensive point. For example, if an employee in the US dials a local telephone number in London, UK, the GS could detect this and decide to route the call from the US to the corporation's office in London, and from there initiate a local call to the destination. The invention would then enable all the legs of the call to be connected together. The end-to-end call would be routed from the originator in the cellular network into the enterprise network via a local connection, across the corporation's least cost routing (possibly VoIP) network to the London office, and connected with the local call from the London office to the final destination. The invention also stipulates that TEHO could be disallowed based on various criteria, such as destination (e.g. if such a solution were not allowed for connecting to certain countries), Time of Day/Day of Week or other criteria such as subscriber profile or policies.

9. PBX feature transparency: The invention describes how to enable PBX services from a desk phone be executed on a standard cellular phone with no special clients. The GS is configurable specific to the enterprise. Therefore the feature codes used on a deskphone in a particular enterprise can be programmed to be the same or similar on the cellular phone. The GS enables the use of “7” or “9” to be dialed in order to get an outside line, just like on a PBX. On the cellular phone, the employee would dial 9 followed by the destination digits, followed by the TALK button. If the employee dials destination digits without a “7” or “9”, the GS would consider them as internal PBX digits, such as a local 4 or 5-digit extension, or a 7-digit internal network destination. It is possible for the GS to suppress the use of “7” or “9” when using a cellular phone. The GS would analyze if the digits are internal or external and route accordingly. For example if the user dialed only 4 digits, the GS would treat as an internal extension. If the user dialed 10 digits, the GS would analyze the digits and if not associated with an internal extension, would consider it an external call and add the “7” or “9” prior to routing to the PBX. By enabling the suppression of the “7” or “9” for an outside line, the invention enables the employee to use the phone numbers stored in their device as they are—without modification.

An employee can select a person's name and which number they wish to connect with (office, home, cellular) in their directory in the phone and dial, and the GS will determine automatically if it is an external or internal number, and route accordingly.

Advanced PBX features such as Call Forward, Call Park, Call Pickup, Conference, Transfer, Do Not Disturb, Exclusive Hold, Consultative Hold, Last Number Redial, Link, Page, etc. that are available on the deskphone by pressing a “Feature” button followed by a code (e.g. Feature 74 to invoke Call Park, or Feature 85 to invoke Do Not Disturb), can be executed in a similar manner on the cellular phone by pressing an alternative button to “Feature” such as “*” or “#” followed by the same feature code. This is completely configurable and can be changed to suit the desire of the end user. If the user cannot recall what codes to use, the invention describes that the user can press a code such as “**”, “##” or “4HELP” (44357) which would connect the user with an Interactive Voice Response System (IVR). The IVR would prompt the user with information such as “Press *74 for Call Park, Press *85 for Do Not Disturb”. The user could enter the digits at anytime and the feature would be invoked. If the user remembers the code, they can avoid using the IVR on subsequent feature invocations.

The invention describes the invocation of features at the beginning of a call, and during a call. Mid-call triggers can be used by the system to inform the GS. For example if a user wishes to bridge in a third party, they could press TALK followed by the destination digits followed by TALK. A cellular system supporting mid-call triggers would send this information to the GS which would originate a call to the third party from the PBX, bridge the third part at the PBX, and enable the single voice path back to the cellular switch. The GS would respond to the mid-call trigger with a message indicating to continue the call as normal. The result is that the original two parties would be connected with the third party through the PBX, and not through the cellular MSC—only a single voice path connection from the cellular MSC is required back to the PBX. Using the same concept, it is possible to link in multiple parties into a large conference call using the PBX and conference bridges in the enterprise, and only a single voice path connection to the cellular user.

If the cellular system does not support mid-call triggers, DTMF tones can be collected on the voice path using a code receiver placed in the voice path typically onboard a media gateway or subscribing to a media gateway for tone detection service. If a code receiver is used, it could be located in the enterprise, or at the carrier. As such, the user would not press the TALK button. Instead they would invoke features while in a call by pressing a designated code such as “*”, “#”, or alternatively “**” or “##” to invoke the IVR system to assist the user in invoking the services.

10. Monitoring and controlling of calls (voice and data) from enterprise mobiles. The invention previously described how all voice calls and data sessions from the cellular network are routed through the enterprise, enabling the enterprise to control, manage, subject to policy and even record the bearer information. The implications of this invention are consistent with what are considered “best practices” among corporations that must comply with regulations such as Sarbanes-Oxley for control procedures, similar to how corporations manage and control e-mail traffic or PBX voice communications that can be tracked and recorded.

While the invention enables an enterprise to gain control of voice and data calls, the design of invention also continues to enable federal legal requirements for monitoring calls on public cellular networks in compliance with regulations such as CALEA. Because the invention routes all calls through the serving MSC before they are routed to the enterprise, the serving MSC can still invoke wiretapping in accordance with federal law.

Similarly the invention design fully supports emergency call handling in that a subscriber that dials 911 will have the call immediately routed in accordance with emergency call handling procedures via the serving MSC which will override any triggers to route the call to the enterprise. As the invention uses standard cellular handsets, there E-911 location features operate as designed. Thus the architecture of the invention fully complies with emergency call handling regulations.

11. Identity manipulation for outgoing and incoming calls: The invention enables either the enterprise PBX landline phone number or the cellular phone number to be used as the single number. If the landline is used as primary and if the cellular number is called, the call can be allowed, or the call can be diverted to a voice recording that states the landline number to call. The call can then be routed, or it can hang up and require the originator to re-dial the new digits. Similarly this can be done with the cellular number as primary. If the landline is primary and the user originates a call from their cellular phone, the GS can manipulate the outgoing callerid information to be the landline number instead of the cellular number. If the terminator decides to call back the originator, they can select the callerid which will be the landline number. Similarly this can be done with the cellular number as the primary.

SMS message originations from the mobile user are triggered to the GS which converts the originator's cellular phone number to the landline number. The SMS can then be redirected back to the MSC for sending to the SMSC, or the GS can instruct the MSC to cancel the message, after which the GS originates a new SMS directly to the SMSC containing the landline origination number and the original destination. Similarly when an SMS is sent to a subscriber using their landline number, the MSC will trigger to the GS based on the terminating number. The GS will convert the destination number from the landline to the cellular number and return it to the MSC for routing to the subscriber or SMSC. In this case it may be required that the HLR be provisioned with a subscriber profile for the landline number to trigger to the GS. In the case where the GS also contains an SMSC on the SS7 network, the originating MSC would route the SMS to the GS-SMSC which would in turn convert the landline number to the cellular number and originate a new SMS to the cellular network for termination.

12. Enhanced Services

-   -   a. Notification of policy enforcements: The invention describes         new control procedures for mobile devices based on policies from         the enterprise. For example, the enterprise can restrict         incoming and/or outgoing calls when an employee is outside work         hours, is outside the building, has badged out of the facility         and/or has logged out of their enterprise data network from         their computer. Should the employee attempt to originate a call,         the system can provide a dynamic treatment that might play a         message to inform the employee of the policy that is preventing         the call from proceeding. Similarly, it is possible for an         incoming call to apply a dynamic treatment that might inform the         calling party that the called party is no longer in the office,         has badged out for the evening and/or has logged out of their         enterprise data network from their computer. The call could then         be routed to standard voicemail or other appropriate treatments.     -   b. Using an Application Programming Interface (API) and/or         Software Development Kit (SDK) on the GS, applications can be         written to control voice calls and data sessions. For example, a         time clock, badging system, or signaling from a computer         login/logout can be used to activate/deactivate a mobile phone.         Similarly this technique can be used to change the recording of         calls to be from a corporate account to a personal account for         charging purposes. For example when an employee logs off their         computer, the cellular phone account is switched to a personal         account and phone calls may be deducted from the employee's         paycheck. In another example, the API/SDK can be used to assign         a particular cellular phone to a particular user at a particular         time. For example, an employee may be assigned a set of         equipment at the start of a shift which might include a cellular         phone. To activate the assigned cellular phone to the employee,         the API/SDK can be used to associate the phone with the         employee. The phone may contain the same cellular phone number,         but the enterprise landline number would be assigned to route to         that particular cellular number for a duration of time until the         employee returns the device at the end of the shift.

13. Billing

-   -   a. Enabling carrier to store a enterprise-specific billing ID in         CDR: The invention describes the assigning of a billing         identifier generated by either the GS or the cellular system         that is shared between the GS and cellular network, and can be         included in the Charging Data Records. The billing identifier         can be used to correlate multiple generated CDRs associated with         a common event.     -   b. Use of Prepaid triggers to mark the start and end of calls:         The invention describes the use of cellular Prepaid triggers to         mark the start and end of calls, even if the call is routed         entirely by the cellular network. For example if user A calls         user B and the GS determines that both users are on the same         cellular carrier, and do not need to be monitored, then the GS         may instruct the MSC to proceed with routing the call from A         to B. The start and end of the call can still be recorded by the         GS based on prepaid triggers.

14. IMS-Legacy Interaction

-   -   a. Policy: The invention enables the enterprise GS to apply         policy rules to the carrier PDF in order to enable target         service objectives for the subscriber for the portion of the         service that is handled by the carrier network. Conversely the         invention enables the carrier PDF to provide the GS with policy         rules for the portion of the service that is handled by the         enterprise network. If the enterprise is not capable of meeting         the minimum policy requirements for the session, the carrier         network may take alternative actions—e.g. route the call         themselves, reject call, redirect to another service or gateway.     -   b. IM-SSF: The invention enables the IM-SSF function to be         expanded beyond CAMEL prepaid triggering to support legacy         network interaction for establishing legacy services such as SMS         and voice calls. For voice services, the IM-SSF can be used by a         SIP-AS to signal to an MSC or HLR by converting SIP messages         into, for example, ISUP, AIN, GSM MAP or CAMEL, and/or ANSI-41         or WIN. This could be used to execute a handoff procedure         between an IP network such as VoIP with a cellular network (or         vv), or to enable IMS applications to invoke legacy services         such as a voice call to a device that does not have an IMS         client and does not support VoIP.     -   c. CSCF: In the case that a solution supports Wi-Fi for voice         calls, the GS acts as a local P-CSCF in the enterprise that         interconnects with the carrier I-CSCF and S-CSCF. The GS can         also perform the functions of an I-CSCF as a peer to the carrier         network for routing sessions within the enterprise, and an         S-CSCF to service the device within the enterprise network. For         the routing of emergency calls, the GS can manage whether the         call is sent to the landline network, in which case it would         provide landline emergency location information, or to the         cellular network in which case cellular emergency call handling         would be performed including location tracking Additionally, if         the device is in the enterprise and operating on the Wi-Fi         network, the GS could alternatively perform cellular emergency         call handling and act as a proxy for the device in order to be         able to interact with the cellular network emergency call         handling functionality. In this case the GS would support the         location information transactions with the cellular network by         providing location information of the enterprise to the cellular         network. This could be statically stored information in the GS         describing the general location of the enterprise, or specific         areas within the enterprise—or could be dynamically obtained by         the GS using various location techniques, for example based on         Wi-Fi location such as AP connection, and converted to         cellular-recognized location information. In this manner the         cellular network would require no changes, while the device         could be operating on an alternative network and still receive         emergency service.

15. Configurations: The solution enables various configurations to be deployed.

-   -   a. Pure enterprise call control in which the GS is located at         the enterprise site. The GS interfaces with the cellular network         nodes supporting SS7 and SIP or other messaging with the carrier         network. The carrier network must be able to address the GS in         order to send and receive messages.     -   b. Split call control between carrier and enterprise in which         the GS located at the enterprise interacts with a GS at the         carrier. The connection between the GS-E and the GS-C can be SIP         or other protocols. This configuration typically enables the         carrier network to have a central point of control for         interacting with multiple enterprises, and may not require the         use of SS7 messaging to the enterprise—instead it is possible to         have a secure IP connection supporting SIP. This is also useful         for offering a Centrex solution for interconnecting with a         carrier-hosted PBX, or for interconnecting a carrier-hosted GS         with enterprise-hosted PBX systems. The GS-C supports an SS7         point code multiplexer in which only one or two point codes are         needed to address all enterprises, since the GS-C can identify         for which enterprise the message is intended. The GS-E is able         to provision the GS-C automatically over the IP interface to         manage subscribers, e.g. to add new pilot DNs for new         subscribers. In this case the triggers used by the originating         and terminating triggers used in the cellular network for         routing the calls to the GS-C can add identifying information of         the specific enterprise in the triggering messages (e.g. ORREQ).         Alternatively the GS-C can identify the enterprise based on the         calling party information.

16. Availability: PBX systems are by nature designed to be enterprise-grade, which implies they may go out of service more frequently than carrier systems which must comply with strict minimum downtime requirements. The architecture of the invention increases the effective availability of a PBX system for routing calls since the GS (GS-E or GS-C) can instruct the cellular network to route the call (with same or modified dialing instructions) in the event that the PBX has gone out of service. The GS can store the call information and report it to the PBX when it is back online. In the event that the GS should go out of service, the architecture of the invention enables the cellular network to be configured such that if its communication with the GS times out, the cellular network can take alternate action, for example to route the call on its own, send to treatment (e.g. play a message), redirect to an alternative GS, or other call handling.

17. MVNO infrastructure: The invention is effectively a wireless core network that could alternatively be packaged and sold to MVNOs to enable them to operate their own core networks and host their own advanced services, while connecting to public cellular carrier networks for radio access.

18. Call Leg Manipulation and handling—In addition to using originating and terminating triggers to transfer call control from the carrier network to the enterprise via the GS, the solution also enables advanced services to be executed mid-call using mid-call triggers or in-line code receivers. When a user wishes to invoke a mid-call service such to invoke a multi-party call using an external conference bridge that resides in the enterprise network, the user can press digits on the device to invoke the service, and then press the TALK or SEND button to invoke a flash. The flash message is sent to the GS using mid-call triggers with the information of what was dialed. The GS can then respond to proceed with the call as normal, so that the voice conversation can continue, and then the GS can invoke the service, in this case to bridge in other users to the call, from the enterprise side. Thus for a multi-party call, only one voice leg is required from the user to the enterprise. Alternatively to the use of mid-call triggers, the solution can use an code receiver in the line that captures DTMF tones throughout the call. In this case the user could press a series of digits followed by, for example, # (instead of TALK or SEND). The code receiver or media gateway can then send a message to the GS to perform the service. In this case there is no interruption in the voice session. In this case the media gateway can block the transmission of the tones to other parties on the call such that the other parties will not hear them as they are being pressed. This section is in addition to what is described in section “Alternative methods for handling call originations”.

19. Corporate Calling Name: Calling name display is based on the carrier network database. This information does not contain calling name information for internal enterprise numbers. The invention enables the redirection of the GR-1188 or IS41 based query in the terminating switch to point to the GS. The GS will access the calling name information from the corporate directory. The GS can also obtain calling name information from a carrier database or other source, and decide which information (or both) to provide to the terminator depending on various factors such as completeness, originator's preferences, etc.

20. IMS Handover/Handoff: The invention enables handoff to occur between a voice conversation on a Wi-Fi network and a cellular network. Signaling between the Wi-Fi network and the cellular network is transited through the GS which converts the messaging between SIP call leg manipulation and ANSI-41 or GSM cellular signaling protocols for invoking a handoff. The solution can support the equivalent of an inter-MSC handoff as is done today in the cellular network, or alternatively a Call Redirection pseudo handoff in which a through-connected call is redirected. The latter uses messages such as SIP JOIN to connect the calls. In the case where the cellular network supports IMS, the GS acts as a SIP AS to perform the application function, and can also act as a peer IMS network including P-CSCF, I-CSCF and S-CSCF. In this case, the GS acting in these functions enables the PBX or IP-PBX that is controlling the user in Wi-Fi mode to be abstracted from having to support IMS to the cellular network, as the PBX/IP-PBX interfaces with the GS which interfaces with the IMS network.

Data—VPN-less session setup for enterprise. The invention enables a GGSN or HA to be including in the GS in the enterprise such that a secure data session can be established automatically between a device on the cellular network and the enterprise network by establishing a GTP tunnel between the carrier-hosted SGSN and the enterprise-hosted GGSN. In addition, in the case where there is a GS-C located in the carrier network that interfaces with GS-Es in the enterprise network, it is possible for the invention to add additional security and encryption specific to the enterprise's needs between the carrier's network and the enterprise. In this configuration, the function of the GGSN can be split between the GS-C and the GS-E such that the carrier network interfaces with the GS-C hosted within the carrier site, while the GTP tunnel and secure encrypted data session can be drawn out to the GS-E hosted within the enterprise. All data traffic to/from the mobile device will traverse the enterprise and its associated secure firewall. 

1. A method, comprising: configuring a packet engine in a bearer stream between a first telephone device and a second telephone device; determining, by the packet engine, via a buffer and an inter-digit timer utilized by the packet engine, a start and a stop of patterns associated with dual-tone multi-frequency digits in order to differentiate a feature invocation digit pattern from the dual-tone multi-frequency digits; and reporting, by the packet engine, a dual-tone multi-frequency event to the call server in response to determining the start and a stop of patterns associated with the dual-tone multi-frequency digits.
 2. The method as specified in claim 1, further comprising using, by the call server, IPTables port mappings to anchor the bearer stream.
 3. The method as specified in claim 1, further comprising providing, by the call server, a mid-call service based on the reported dual-tone multi-frequency digit.
 4. The method as specified in claim 1, wherein the packet engine is implemented as a software-only entity.
 5. The method as specified in claim 1, further comprising deploying the packet engine on a common hardware platform as the call server.
 6. The method as specified in claim 1, further comprising deploying the packet engine on a separate hardware platform from the call server.
 7. The method as specified in claim 1, further comprising statically linking the packet engine into a process of the call server.
 8. The method as specified in claim 1, wherein the packet engine is scalable.
 9. The method as specified in claim 1, wherein the packet engine supports control by multiple call servers in the Voice over Internet Protocol network.
 10. The method as specified in claim 1, wherein the call server controls multiple packet engines in the Voice over Internet Protocol network.
 11. The method as specified in claim 1, wherein the packet engine comprises a user space process and a kernel module.
 12. The method as specified in claim 11, further comprising: receiving, by the user space process, commands from the call server; sending, by the user space process, commands to the call server; and utilizing, by the user space process, IPTables to create port mappings within an IP stack.
 13. The method as specified in claim 12, wherein the kernel module determines which Real-time Transport Protocol packets of the bearer stream received from the IP stack include dual-tone multi-frequency digits.
 14. The method as specified in claim 13, further comprising: examining, by the kernel module, headers of each Real-time Transport Protocol packet; and checking a Payload Type field for an indication of whether the Real-Time Transport Protocol packet contains a dual-tone multi-frequency event.
 15. The method of claim 14, wherein the dual-tone multi-frequency event is encoded per IETF RFC 2833, the method further comprising sending, by the kernel module, the Real-Time Transport Protocol packet to the user space process for further application level processing.
 16. The method as specified in claim 14, wherein the kernel module comprise a Linux kernel module operating as an extension to a Linux kernel, and wherein the Linux kernel module facilitates examination of incoming Real-time Transport Protocol packets.
 17. A server, comprising: a user space module configured to receive and send commands from and to the Voice over Internet Protocol network; and a kernel module configured to receive a bearer stream comprising Real-time Transport Protocol packets from an IP stack, wherein the kernel module utilizes an inter digit timer to determine a start and a stop of patterns associated with the dual-tone multi-frequency digits in order to differentiate a feature invocation digit pattern from the dual-tone multi-frequency digits; wherein the user space module reports a dual-tone multi-frequency event to the call server in response to determining the start and a stop of patterns associated with the dual-tone multi-frequency digits.
 18. The packet engine as specified in claim 17, wherein the kernel module comprise a Linux kernel module, and wherein the Linux kernel module examines headers of each Real-time Transport Protocol packet and checks a Payload Type field, wherein the Payload Type field indicates whether the Real-time Transport Protocol packet contains a dual-tone multi-frequency event.
 19. The packet engine as specified in claim 18, wherein the dual-tone multi-frequency event is encoded per IETF RFC 2833, and the Linux kernel module sends the Real-Time Transport Protocol packet to the user space module for further application level processing.
 20. The packet engine as specified in claim 18, wherein the Linux kernel module operates as an extension to a Linux kernel and facilitates examination of incoming Real-time Transport Protocol packets.
 21. A server, comprising: a first module configured to establish a Voice over Internet Protocol call session; and a second module configured to detect digit events within an active Voice over Internet Protocol call session, wherein the second module utilizes a buffer and an inter digit timer to determine a start and a stop of patterns associated with the digit events in order to differentiate a feature invocation digit pattern from the digit events.
 22. The call server as specified in claim 21, wherein the Voice over Internet Protocol call server is configured to operate as an intermediate node on a signaling path of the call session.
 23. The call server as specified in claim 21, wherein the Voice over Internet Protocol call server is further configured to provide mid-call services as a function of detected digit events originated by a party to the call session.
 24. The call server as specified in claim 21, wherein the Voice over Internet Protocol call server comprises a packet engine comprising a user space module configured to receive and send commands from and to a Voice over Internet Protocol network, and wherein the user space module is configured to utilize Linux IPTables to create port mappings within an IP stack.
 25. The call server as specified in claim 24, wherein the packet engine further comprises a Linux kernel module adapted to receive Real-time Transport Protocol packets of the call session.
 26. The call server as specified in claim 25, wherein the Linux kernel module examines headers of each Real-time Transport Protocol packet and checks a Payload Type field, wherein the Payload Type field indicates whether the Real-time Transport Protocol packet contains at least one digit event.
 27. The call server as specified in claim 26, wherein the digit events are encoded per IETF RFC 2833, and the Linux kernel module sends the Real-Time Transport Protocol packet to the user space module for further application level processing.
 28. The call server as specified in claim 26, wherein the Linux kernel module operates as an extension to a Linux kernel and facilitates examination of incoming Real-time Transport Protocol packets. 